﻿using ConsultasGerais.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Web.Mvc;

namespace ConsultasGerais.Controllers
{
    public class MarcasController : Controller
    {

        public IList<Marcas> marcas = new List<Marcas>();

        public JsonResult LoadMarcas(string tipo)
        {
            //Classe de suporte a consumo de HTTP namespace System.Net.Http
            HttpClient client = new HttpClient();
            //Adicionando no Header o token e o media type JSON
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            string uri = string.Format("http://fipeapi.appspot.com/api/1/{0}/marcas.json", tipo);
            //Fazendo a requisição
            HttpResponseMessage response = client.GetAsync(uri).Result;
            //Conferindo código 200 de sucesso
            if (response.IsSuccessStatusCode)
            {
                //Parse de JSON para o objeto Marcas
                marcas = response.Content.ReadAsAsync<IList<Marcas>>().Result;
            }
            else
            {
                //Exibindo a exceção com o código Http respectivo.
                throw new Exception(string.Concat(response.StatusCode.ToString(), " - ", response.ReasonPhrase));

            }

            return Json(marcas, JsonRequestBehavior.AllowGet);
        }

    }
}
